1. Field of the Invention
The present invention relates to the security of communications, and more particularly to a method and apparatus for combating the use of cloned, fraudulent or unauthorized communicating devices, such as cellular telephones, credit cards and computer terminals.
2. Background of the Invention
Communication signals are used widely in many different or interrelated fields, such as credit card authorization systems, cellular telephone and radio communications, satellite transmissions, telephone calls, computer networks and modem connections, automated teller machine transmissions, direct broadcast television, garage door openers, automobile remote devices and the like. While each of these fields may have different communication protocols, performance objectives and technical constraints, each of the fields have at least some concern for the security of the communication. Specific security concerns may deal with the content of the communication itself (often protected by encryption methods), the integrity of the communication (often protected by error-checking and anti-virus software), and authorized access to the communication (often protected by account codes and passwords).
Unauthorized access to communications and communicating devices has become a problem in many of the fields mentioned. Computer networks have been broken into by determining authorized account codes and passwords, thereby gaining access to proprietary information or computing capabilities Credit card transactions may be charged by an unauthorized person by merely possessing a lost or stolen card. Cellular telephones may be duplicated or cloned to produce a large number of fraudulent telephones having the same account codes and personal identification codes as a lost or stolen authentic cellular telephone. Attempts to combat these unauthorized communications has taken many forms.
One security measure implemented in typical various communication systems is the authentication of communicating devices at registration, initiation or reception of the communication. Authentication may be simply viewed as the process of confirming the identity of the communicating device, perhaps by transmitting an account or identification code and a password. In applications where the communicating device is mobile, authentication often requires communication between or through a plurality of communicating devices or networks in order to verify the identity of the communicating device and perhaps the user of the communicating device.
For example, a serious problem in existing cellular telephone systems may be referred to as the xe2x80x9cfalse mobile stationxe2x80x9d syndrome. It is presently possible to copy the entire memory contents of a mobile station and to use that information to manufacture clones which can demand and receive service from the network. Cellular phones may be cloned by reading the entire memory contents of the phone, including its identification codes, secret keys, internally stored personal identification codes, signatures, etc., and writing the same codes into any number of similar xe2x80x9cclonexe2x80x9d phones. The cloning procedure can become quite sophisticated and may include software modifications which replace physically stored information with electronically stored information so that a number of stored mobile station identities may be cyclically rotated within one fraudulent mobile station and used to imitate several authentic mobile stations.
Similar breaches of communications have occurred in financial transactions involving credit cards. Typically, the information on a lost or stolen credit card can be electronically read and duplicated on any number of credit cards. The cards are then distributed and used until either the credit limit of the card is surpassed or the card is reported stolen or lost to the credit card company. Significant actual losses are experienced each year due to the use of such xe2x80x9cclonedxe2x80x9d credit cards.
Many communication systems, including cellular telephone networks and credit card authentication or authorization systems, comprise a vast number of distributed communicating devices (i.e., mobile cellular phones or credit cards and credit card readers) that transmit data to a central computer system in charge of determining whether or not to allow the communication to go through. The central computer system may execute an authorization algorithm to determine if the credit card has a valid account or identification number, if there is an available balance of credit and, perhaps, if a valid personal identification number has been given or entered. However, sophisticated thieves have been able to duplicate the credit card with valid identification numbers and determine even the personal identification number.
Similarly, computer network communications or computer-to-computer communications may include files that are locked, password protected, zipped and/or encrypted for various reasons, including the security of the content of the communication. Password protection provides a limited degree of security, primarily protecting a communication from being accessed by persons who casually encounter the file, but this security can still be violated. Encryption is perhaps the most secure means for preventing outsiders from obtaining the content of the communication and, therefore, is in widespread use by banks and other financial institutions throughout the world for many or all of their electronic transactions.
However, the security of even the most sophisticated encryption methods is jeopardized by the growing computing power available to individuals and groups. Complex encryption algorithms using 64 bit keys having 264 (about 1.8xc3x971019) possible keys could become marginal protection against outside access to the communication.
Therefore, there is a need for improved methods of securing communications between two or more communicating devices and/or users. More particularly, there is a need for methods of preventing unauthorized use of communicating devices or the content of the communication. It would be desirable if the method provided a simple means for detecting the use of xe2x80x9cclonedxe2x80x9d communicating devices. Furthermore, it would be especially desirable if the method did not require any significant physical modifications to existing communicating devices, but rather could be employed by the addition or modification of software.
The present invention provides a method of authenticating a communication, comprising (a) providing a first communicating device with a first sequence of transaction specific codes; (b) providing a second communicating device with a second sequence of transaction specific codes, wherein the first and second sequences are identical; (c) setting pointers in the first and second sequences at the same transaction specific code; (d) transmitting a communication from the first communicating device to the second communicating device along with a transaction specific code from the first sequence; (e) refusing communications having a transaction specific code that is different from the transaction specific code expected by the second communicating device; and (f) incrementing the pointers in both the first and second communicating devices. The first and second sequences of transaction codes may be stored in a database or calculated according to various algorithms.
The first and second communicating devices may take on various forms and functions. For example, the first communicating device may be a credit card and the second communicating device a central clearinghouse; the first communicating device may be a cellular telephone and the second communicating device a cellular network; the first communicating device may be a garage door remote and the second communicating device a garage door opener; the first communicating device may be an automobile remote unlock device and the second communicating device an automobile remote unlock device receiver; the first communicating device may be a computer and the second communicating device another computer; and the first communicating device may be a direct broadcast television system and the second communicating device a television receiver. It should also be recognized that the communication may proceed through transmissions selected from electrical, radio and optical.
The invention also provides a method of authenticating a communication, comprising: (a) providing a first communicating device with a first identification code and a first sequence of transaction specific codes; (b) providing a host communicating device with the first identification code and the first sequence of transaction specific codes; (c) setting pointers in the first sequence of transaction specific codes of both the first communicating device and the host device at the same transaction specific code; (d) transmitting a communication from the first communicating device to the host communicating device along with the first identification code and the transaction specific code associated with the pointer in the first sequence of transaction specific codes; (e) disallowing communications transmitted with the first identification code that have a transaction specific code that is different from the transaction specific code associated with the pointer in the first sequence of transaction specific codes; and (f) incrementing the pointers in the first communicating device and the host communicating device.
The invention further provides a method of authenticating a communication, comprising: (a) providing each of a plurality of communicating devices with a device identification code and an associated sequence of transaction specific codes; (b) providing a host communicating device with an identical copy of each of the device identification codes and the associated sequences of transaction specific codes; (c) setting pointers in the communicating device and the host device at the same transaction specific code in the sequence of transaction specific codes associated with each identification code; (d) transmitting a communication from one of the communicating devices to the host communicating device along with the device identification code and the transaction specific code associated with the pointer in the sequence of transaction specific codes; (e) disallowing communications transmitted with the device identification code that have a transaction specific code that is different from the transaction specific code associated with the pointer in the sequence of transaction specific codes; and (f) incrementing the pointers in the communicating device and the host communicating device.
The invention also provides a method of detecting the existence of two or more communicating devices having the same identification code comprising the steps of: (a) transmitting an identification code and a transaction specific code from a first communicating device to a host device; and (b) comparing the transaction specific code received by the host device with a next expected transaction specific code for a communicating device having the particular identification code.
Further, the invention provides a method of communicating between a communicating device and a host device, comprising the step of transmitting an identification code and a transaction specific code to the host device wherein the identification code is unique to the communicating device and the transaction specific codes are predetermined and known by the communicating device and the host device for the purpose of allowing the host device to detect the usage of a fraudulent communicating device having the same identification code. The method may also comprise changing the transaction specific code for subsequent attempted communications. The method may further comprise disallowing communications having an improper transaction specific code.
The invention additionally provides a method of disallowing communications initiated by fraudulent communicating devices comprising (a) receiving an identification code and a transaction specific code from a communicating device; (b) searching a list of transaction specific codes in the host device; and (c) having a predetermined sequence of transaction specific codes for the next expected transaction specific code from a device having the received identification code.
Finally, the invention provides a method of resynchronizing the next expected transaction specific code between communicating devices by matching a pattern of transaction specific codes in the communicating device with a pattern of transaction specific codes in the host device.